// 6.2. 修饰符类型-类型限定符
/**
 * 类型限定符提供了变量的额外信息。
 * 
限定符	含义
const	    const 类型的对象在程序执行期间不能被修改改变。
volatile	修饰符 volatile 告诉编译器不需要优化volatile声明的变量，让程序可以直接从内存中读取变量。对于一般的变量编译器会对变量进行优化，将内存中的变量值放在寄存器中以加快读写效率。
restrict	由 restrict 修饰的指针是唯一一种访问它所指向的对象的方式。只有 C99 增加了新的类型限定符 restrict。

翻译：
volatile 不稳定的;易挥发的;易变的;无定性的;无常性的;可能急剧波动的;易恶化的;易发散的
restrict (以法规)限制;限定(数量、范围等);束缚;妨碍;阻碍
 * 
*/

#include <iostream>

int main(void)
{
  const int a = 1;
  volatile bool flag = true; // 1 ??

  std::cout << "a:\t" << a << '\n'
            << "flag:\t" << flag << std::endl;
  printf("-------------end----------\n");
  return 0;
}